/*!
// DatatypeExp v1.0
// Copyright 2015 OrChange Inc. All rights reserved.
// Licensed under the MIT License.
*/
/*jslint vars: true, sloppy: true, nomen: true, plusplus: true */
/*global _: false, $: false, Step: false, config: false, Entity */

/**
 * Abstract Exp object.
 *
 * @class Exp
 * @constructor
 * @param {string} exp
 */
var expPattern = {};
var Exp = function Exp(exp) {
	if (typeof exp === 'undefined') {
		return;
	}

	if (typeof exp !== 'string') {
		throw new Error('Exp should be a string!');
	}

	this.exp = exp;
};
Exp.prototype.$test = function (data) {
	return true;
};
Exp.prototype.test = function (data) {
	return this.$test(data);
};
Exp.prototype.toString = function () {
	return this.exp;
};
